⚡ 快速排序法 (Quick Sort) 核心概念

快速排序法被公認是實務上最快、最有效率的通用排序演算法之一。它採用了「分而治之」(Divide and Conquer) 的策略,透過不斷地將大範圍的陣列切分成小範圍來加速排序過程。

🎯 三步核心流程

  1. 選基準 (Pivot): 隨機或挑選陣列中的一個數字作為「基準點」。
  2. 分割 (Partition): 將比基準點小的數字移到左邊,比基準點大的移到右邊。
  3. 遞迴 (Recursion): 對左右兩邊的子區塊重複上述動作,直到全部排完。

⏱️ 效能與複雜度

  • 平均時間: O(n log n),速度極快。
  • 最壞情況: 若每次都選到極端值(例如陣列已排序卻選最後一個當基準),會退化為 O(n²)。
  • 空間佔用: 不需建立新陣列(In-place),僅需 O(log n) 的遞迴記憶體。

💡 為什麼它是實戰王者?

雖然它在極端情況下的表現不如合併排序法,但因為它在記憶體內直接交換數據,常數時間非常小。在絕大多數真實的軟體開發應用中,它通常是表現最出色的排序選擇!

快速排序法 (Quick Sort)

回首頁

點擊「開始排序」觀察過程